//
//  HomeTableViewController.swift
//  SinaWeibo25
//
//  Created by David on 16/3/5.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit
//导入命名控件
import AFNetworking
import SVProgressHUD

private let cellID = "cellID"
class HomeTableViewController: BaseTableViewController {
    
    lazy var statuses = [Status]()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        print(view)
        
        if !userLogin {
             visitorLoginView?.setupInfoWith("关注一些人,回到这里看看有什么惊喜", imageName: nil)
            return
        } else {
            
        }
        //设置访客视图的信息
       
        prepareftTableview()
        Status.loadHome { (array) -> () in
            guard let list = array else{
                
                SVProgressHUD.showErrorWithStatus(AppErrorTip)
                return
                
            }
//            保存数据
            self.statuses = list
            
            self.tableView.reloadData()
        }
        
    }
    private func prepareftTableview() {
        //注册cell
        // OC -> [UITableViewCell class]  swift -> UITableViewCell.self
        tableView.registerClass(Statuscell.self, forCellReuseIdentifier: cellID)
         //设置预估行高 尽量接近真实行高   contentSize = estimatedRowHeight * count
        tableView.estimatedRowHeight = 300
        //tableView 固定行高 就应该设置 自动计算
        //注意: 必须对contentView底部添加约束
        tableView.rowHeight = UITableViewAutomaticDimension
        //设置分割线
        tableView.separatorStyle = .None
    }

}
//tableView 的数据源方法
//重复遵守协议会保错
extension HomeTableViewController {
    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }
    
    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return statuses.count
    }
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier(cellID, forIndexPath: indexPath) as! Statuscell
//        cell.textLabel?.text = statuses[indexPath.row].user?.name
        let s = statuses[indexPath.row]
        
        cell.status = s
        
       
        return cell
        
    }
}
